Name resolving is not related to this and like you said, if customer has the name set to point to your webserver things are fine on that side. But in order to have things really work, you need to instruct your httpd to serve the right content for the 3rd party domain.
With apache you can add ServerAlias to the virtualhost block or you could utilize mod_alias and make one main site and symlink the rest
Since the hosting of dns entries of a 2rd party domains happens on their own / or hosted on even on 3th party dns servers, the only way easy method to archive this is that the person needs to notify your application that now there's a new domain added to your application. This could be a configurable option in your app settings.
When you have the information what domain your client wants to add, you can automate the generation of a new mod_alias site OR adding of a new ServerAlias directive into existing virtual host, or even, creating a new virtual host completely from the default template - and when these are done, restart the apache.
Another option could be you make your application a default virtual host that doesnt care about domain names at all and serve all content from that so that when webserver receives request from client with unknown domain, it would still serve your application to the user ..