Mmm puede ser un problema de Locale, yo creo la solución temporal es usar strftime primero sacando solo el mes, luego usas ucfirst, y luego generas toda tu cadena:
Código PHP:
<?php
$fecha="1984-10-14";
$fecha=explode("-",$fecha); // Divide la cadena $fecha en valores de array
$tiempo_seg=mktime(0,0,0,$fecha[1],$fecha[2],$fecha[0]); //Convierte la fecha a segundos
setlocale(LC_TIME, 'esp_esp'); // Formato de hora local, idioma y demas
$mes = ucfirst( strftime( "%B" ) );
$fecha= strftime('%A, %d de ' . $mes . ' de %Y', $tiempo_seg); // Presentación de la fecha
$fecha= ucfirst($fecha);
echo $fecha; // Imprime Domingo, 14 de octubre de 1984
?>
Saludos.