check_http can only check one site at a time. If you need to check multiple sites in a single service check, you would need to write your own check to implement the logic. This could easily be done in a simple shell script that calls check_http for each virtual host and returns the appropriate failure code to Nagios if any of the check_http executions are unsuccessful. Such a script might look like the following.
for HOST in $* ; do
check_http -H $HOST [...other args...] >/dev/null
if [ $? -ne 0 ] ; then
echo "$HOST not responding"
echo "All hosts ok"
Alternatively, you may be able to use Nagios' service dependencies to reach your goal. Assume for the moment that you wish to check all of your Apache virtual hosts but not be flooded with a notification for each one if the Apache process is not available. This would allow you to see the status detail of each virtual host, allow for more fine grained reporting, and let you have different notification and time period options.
To implement this you would create a service check for each virtual host, then create one check for Apache, presumably by using check_http to check via the IP address and make sure something is listening on port 80.
Next you would create service dependencies for each virtual host's service check and configure them to be dependent on the Apache check. If the Apache check fails, all of the virtual host checks (which depend on the Apache check) will stop sending notifications and/or executing checks until the Apache check recovers.