Both phrases are correct. However, when talking about getting a present or gift because it's someone's birthday, we commonly use "for".
Both phrases are correct. You can get a present "for" or "on" your birthday. However, when talking about getting a present or gift because it's someone's birthday, we commonly use the preposition "for".
Alice bought him a present for his birthday.
My friend gave me a gift on my birthday.
When in doubt, use "for":
I sent him a shirt as a present for his birthday.
What did you get for your birthday?
However, when talking about something you want that specific day, use "on".
She wants to throw a costume party on her birthday.
Note that you can use both nouns, "gift" or "present", since they mean essentially the same thing.
I bought you a present/gift for your birthday.