When you create a virtual host, with a hostname that does not meet RFC standards, configtest should at least warn that the hostname is not valid. Creating a virtual host with an underscore in the hostname will end up with apache2 throwing a 400 error, with no other useful information.