If you book through BA, you can have different name spelling on the ticket and different in your APIs - Advance Pax Information. API has to match what your passport says. I always book my flights with my first name only, but provide the full name with the passport details. Your partner's visa has to match their passport details.