Hola Nico,
lo que te está pasando es que el script PHP que es llamado vía AJAX no está devolviendo los caracteres en UTF-8.
Tené en cuenta que la llamada vía AJAX es completaemnte independiente del CHARSET definido en el llamador; dicho en otras palabras, son dos script PHP independientes uno de otro.
En tu caso, al estar devolviendo un select HTML no tenés como poner cabeceras indicando que el charset es UTF-8 (a diferencia de si devolvieras una página HTML completa o un XML, y el default del servidor web que usás debe estar devolviendo un juego de caracteres diferente.
Lo podés solucionar agregando al script que es llamado vía AJAX las siguientes líneas de código al principio:
<?php
mb_http_output( "UTF-8" );
header( "Content-Type: text/html; charset=".mb_http_output());
..
con esto el script generará una cabecera HTTP con el juego de caracteres UTF-8 siempre y cuando este charset sea soportado por el servidor.
Saludos!