Дело в том, что в PHP нет русских названий месяцев. Так что формировать всё равно придётся руками. А вот для разрезания есть getdate. Что-то вроде такого:
$month=[1=>'января', ..., 12=>'декабря'];
$test_date='2014-10-06 14:01:25';
$tmp=getdate(strtotime($test_date));
$result=sprintf('%02d %s %4d года, %02d:%02d',
$tmp['mday'], $month[$tmp['mon']], $tmp['year'], $tmp['hours'], $tmp['minutes']);
Другой вариант основан на том, чтобы генерировать месяц в любом виде, а дальше регуляркой его менять. Что-то вроде:
$result=preg_replace_callback('#<(\d+)>#', function($data){
static $month=[1=>'января', ..., 12=>'декабря'];
return $month[$data[1]];
}, date('d <m> Y года, H:i', strtotime($test_date)));