I'd make a poor XKCD joke about "Epoch Fail", but I wouldn't want to deprive Weedpacket of the pleasure.
I just tried your code and it works fine for me -returns February 26, provided I use the strtotime() specification. If I just do date('F d', '1977-02-26') it gives me December 31. I'm using php5, though, although it shouldn't have changed. The only other suggestion I could make as a workaround would be to combine substr() or explode() and mktime(), something like:
$parts = explode('-', '1977-02-26');
print_r($parts);
echo date('F d', mktime(0,0,0, $parts[1], $parts[2], $parts[0]));
which returns:
Array
(
[0] => 1977
[1] => 02
[2] => 26
)
February 26