I have a domain that uses my host's nameservers, however there is no specific virtual host created for it. When I go to the domain, I get page not found. If I change my hosts file to have the domain point to the IP of the first nameserver or if I set up an DNS entry for www to be the IP, it works like I want it to.
According to the access and error logs, it doesn't even look like the request makes it to Apache. Is there anything else I have to configure other than just the nameserver for the doamin to get this to work? Pinging the domain brings up host not found, but pinging a domain that has a virtual host section comes up as the IP of the nameserver. What am I missing?
I'm not sure if I've correctly understood the problem, so let me start by stating what I think you're saying:
I don't understand what you mean by "Pinging a domain that has a virtual host section comes up as the IP of the nameserver"
Since everything works fine when you add a hosts entry, it sounds like Apache is set up correctly. Since it doesn't work without the hosts entry, my guess is that your DNS entry is wrong. Check what happens when you "dig host.example.com" - does it return the right IP?
Update: Based on this additional information:
the problem is clear. When you registered newdomain.com, you need to tell the registrar that it's hosted on ns1.mydomain.com and ns2.mydomain.com; and they need to set up the "glue" records so that other people can discover this. Some part of this has failed - either you didn't tell the registrar; or they haven't set up the glue records yet.