This is rather problematic. You'll need somme way to discover which virtual servers are running on the system. On a *nix system running Apache, you can execute this command:
httpd -Sand get a list of the virtual servers on the system. But if the server has been chrooted you've got further problems. So, in order to reliably discover virtual servers, Nessus needs to be able to log in and execute commands on the remote system. rDNS is unreliable - it's simply not implemented by most ISPs - and only works if the machine has a global IP when being scanned.