Okay, to be perfectly honest, your onesie does sound absolutely ridiculous.
My dad occasionally presents me with gifts (bits and pieces that that I must admit I wouldn't ever buy myself), his latest offering being an all-singing all-dancing knock-off pair of 'Crocs' that are snot green and glittery... Yep. Just when you thought 'Crocs' couldn't get more unfashionable, right? Well, I wear them with pride simply because they are THAT ridiculous!
I would take that route if I were you. I mean, he's paid for it and it has arrived in all its glory, so why not have a bit of fun with it? I doubt anyone would think that you're taking yourself seriously in it, for a start, and maybe your boyfriend might feel like less of an idiot for putting thought into a present that you "hate". Just sounds like he has a sense of humour and didn't realise you would take it as you did (he more or less fulfilled the brief, to be fair). I don’t think you're being ungrateful, by the way, and as another poster stated, you definitely haven't been a bitch about it - honesty is all it's been. You clearly care about your boyfriend's feelings, etc. and it's okay to feel disappointed... But I have to ask: seeing as you feel guilty, would him returning the onesie and using the £120 for one you initially wanted make you happy? If so, that's fair enough. In case it wasn't clear enough, sticking with it is just what I would do in the situation for, ultimately, it's up to you.
P.S. Happy birthday!