Sure, it’s possible. It takes a little bit of extra configuration, but it’s not terribly complicated (and you should also know that Virtualmin doesn’t support setting up your DNS, since DNS is no longer locally hosted in your case). It depends on what device has your dynamic IP, as to how you go about it. If a NAT router has the public IP, then Virtualmin can be given a private IP to use as its NameVirtualHost value and no special configuration is needed, but if the server itself gets the IP, you have to tweak the Apache configuration to listen on all addresses (and even then, I’m not sure if Apache will handle keeping a port online through an IP change). Probably better to use a private IP for Apache in either case, and do the NAT locally even if you’re not using a NAT router.
Clear as mud?
Give me a more specific idea of what you topology looks like (mainly just “do you have a router that gets the IP or not?”) and I’ll give you more specific details about what to configure and where. (And if you want to buy an installation and let me handle it personally, that’s fine too.)
So either you’re not a Virtualmin idiot, after all, or the software is pretty easy to install and configure even for newbies. Either way, it’s great news!
Thanks for the update. Holler if anything blows up, or if you just have any questions.