Definitely rainbow. However, there is actually a good reason for why it may be mistaken. (Time for my nerdy phonetician side to come out).
It's all to do with the shape your mouth takes when pronouncing the word.
The /n/ sound is an alveolar nasal, meaning that the tongue touches the ridge behind your top teeth and air is passed through the nasal cavity while you say it.
The /b/ sound is a bilabial plosive, meaning that, when you say it, your lips are pressed together, trapping air for a short period of time before releasing it.
So, what happens when you say the word 'rainbow' is called 'coarticulation', where the segments of the word overlap because of where your mouth needs to be for the next part of the word. To be more precise, it's called 'regressive assimilation' - the /b/ sound affects the /n/ sound before it by making it more similar to itself.
Because your lips need to be closed for the bilabial plosive /b/, they may close prematurely on the /n/ sound, making it sound more like the bilabial nasal /m/. Hence, it sounds like you're saying 'raimbow'.
The same thing happens when people say 'handbag' (which can sound more like 'hambag') and 'hot bread' can sound more like 'hoP bread'.