Upvote:9
First of all, I would call BA to check what they can offer.
Then, the 400 $ that your travel agent is talking about is probably not only for him but rather a charge from BA to change a ticket. The pricing difference is the other extra cost you'll have to pay for. This might sound like a lot of extra costs...
The 400 $ is just tied to the ticket change process. This is to avoid that people change tickets without any reason or just buy tickets in advance to get a good price and then change it later multiple times. Then charging the price difference is related to the fact that some tickets are more expensive than others depending on how busy the plane is, the period of the year, the day of the week, the class of booking, etc...
So try to call BA first to see what options are available then check with your travel agent but he might not have much flexibility to lower this price. Keep in mind that sometime, simply buying a new ticket might be less expensive (and even if you buy a round trip ticket while only using first leg).