I'd just name her
Sophie. It's perfectly acceptable as a full name, and doesn't need to be short for anything really.
Sophia is nice but if your boyfriend is always going to call her
Sophie anyway, you might as well just go with
Sophie.
Sophie is just as likely to be shortened as
Sophia - they both might get called Soph or something like that but it's not inevitable.