This sounds like an issue with passing the domain name requested in the request header. The only reason why the default page will show is if the request header does not identify which domain name is being requested from the server, essentially as in if the user was putting the servers IP address directly into the browser address bar.
This does not sound like a DNS issue, rather it sounds like an issue in the request and communications stream. It is possible that either there is an issue with the end users machine or browser, or there is an issue with some upstream network which is malforming the request. Based on what you have stated this would not appear to be a DNS issue nor would it appear to be an issue on your end.