The last gift I gave to a girl was a necklace I gave my friend Sian. She talked about how she was depressed constantly and how she'd be alone and miserable for Valentine's Day, so despite her being about as far away from me as she can possible get, I decided to send her something. She always spoke of having wings to fly away from her problems, so I sent her a silver angel wing pendant. Cost me a damn fortune to acquire it, even more to send it, and I had to have her mum take delivery of it to maintain the suprise. But it was worth it. She's not taken it off since. It's literally sacred to her, a sign that no matter how bad life treats her she'll always have somebody that cares for her waiting to be that shoulder to cry on.
So...yeah, listen to her. Get a gift based on what would suit her best, only you can find this out. If she's your best friend then get her something deep and meaningful, not the usual gift guff. No chocolates or some other cliched crapola. You make the effort for friends.
As for the boyfriend, tell him to go forth and lick the front of a speeding train. If he has issues with a girl getting a gift from her best friend then he's too insecure to be worthy of any girl worth dating.