As the "www .YOURDOMAIN .com" works, but without the "www" it does not work, it sounds like you are missing a DNS record, or host header entry.
To see if you are missing a DNS entry, you can use NSLookup in Command Prompt:
nslookup www .YOURDOMAIN .com
Name: www .YOURDOMAIN .com
Address: 126.96.36.199 <-- Returns an IP = Good
nslookup YOURDOMAIN .com
*** UnKnown can't find YOURDOMAIN .com: Non-existent domain <-- DNS Record does not exist = Bad
If your NSLookup results match the example above, then this confirms you are missing a DNS record.
To resolve this, you would need to add the root "@" DNS record and/or the asterisk "*" record, which would catch Anything.YOURDOMAIN .com, even if the record doesn't exist - sort of like a default or catch-all DNS record. You would need to do this either at your Name Server control panel or DNS server depening on your setup.
However, if you ARE able to get an IP from "nslookup YOURDOMAIN .com", this means that it is NOT a DNS issue, and that your web server needs to be configured to listen for "yourdomain .com" as well as "www YOURDOMAIN .com". In IIS, you would go to the site's properties, and add the host header.