Does a change in a query executed with sp_executesql cause recompilations?
It won't actually cause a recompilation, rather you have a completely new query and so it will have to be compiled for the first time. 

If these sp_executesql statements are being called from within a stored procedure there might be some other cause for the recompile (such as a temp table or option).

I would recommend following the steps in http://support.microsoft.com/kb/243586 to troubleshoot exactly what statement is causing your recompilations.