Someone (presumably your customer) would have to buy that domain name, and someone would have to host the DNS records for it to point that domain name to your server's IP address. Your HTTP server's virtual host config would then have to allow for aliasing of the customer's domain to your application.
It is doable. I would ony know how to do it manually (for Apache), and the HTTP server would have to be bounced each time you added an alias. It's not something I would want to offer as a feature for everyone in a shared application as I don't see an easy way to automate it, but someone out there may have dealt with it.
Sounds like you're set on the sub-domains, but in case anyone else was wondering, here's more info on subdomain how-to http://www.railsdev.ws/blog/10/using-subdomains-in-rails-apps/