Hola,
Cocker, lo primero solo te sirve si el campo fecha de la BD es una cadena. Si es un campo date es mas sencillo que al hacer el select uses la funcion MySQL DATE_FORMAT().
Nukelino, ¿de donde sacas $fecha? Si es de una BD usa la funcion MySQL DATE_FORMAT(). Si no, puedes intentar usar la funcion
strtotime() para crear el timestamp que luego formateas con date().
Suerte.