A resolução de nomes não está relacionada a isso e, como você disse, se o cliente tiver o nome definido para apontar para o servidor da Web, as coisas funcionam bem desse lado. Mas, para que as coisas realmente funcionem, você precisa instruir seu httpd a veicular o conteúdo certo para o domínio de terceiros.
Com o apache, você pode adicionar ServerAlias ao bloco virtualhost ou pode utilizar mod_alias e criar um site principal e criar um link simbólico para o restante
Adição:
Como a hospedagem de entradas de DNS de domínios de 2ª parte ocorre por conta própria / ou hospedada em servidores DNS de terceiros, a única maneira fácil de arquivar isso é que a pessoa precisa notificar seu aplicativo que agora há um novo domínio adicionado ao seu aplicativo. Essa pode ser uma opção configurável nas configurações do seu aplicativo.
Quando você tem as informações que domínio seu cliente deseja adicionar, você pode automatizar a geração de um novo site mod_alias OU adicionar uma nova diretiva ServerAlias no host virtual existente, ou mesmo, criar um novo host virtual completamente a partir do padrão template - e quando isso for feito, reinicie o apache.
Outra opção poderia ser tornar seu aplicativo um host virtual padrão que não se importe com nomes de domínio e forneça todo o conteúdo para que, quando o servidor receber solicitação de cliente com domínio desconhecido, ele ainda sirva seu aplicativo para o usuário ..