Shiftwork can make you a little nuts and a little disoriented about schedules. What I bet happened is he screwed up planning his shopping time. Sure, he knew it was your birthday last week, and was probably going to get something, asked you what you wanted, when the two of you couldn't figure it out he thought he'd get to it later. Then he went back to work. And whenever he would remember, the stores were closed.

If you want the big production on your birthday, you will have to tell him. I had to tell my wonderful BF that I would rather go to a show than get more stuff, and that IT'S NOT A BIRTHDAY WITHOUT CAKE.