So, what happened is called Non-Recognition Aggression.
So imagine how threatening it must be for the cat who stayed home to
see a cat being let out of the carrier, into her territory, who is
carrying unfamiliar scents. In fact, when it comes to not smelling
like her normal self, the situation is made worse because the scents
are those of a very threatening (from kitty’s perspective)
The returning cat doesn’t smell the same and actually is carrying
scents that the returning cat associates with fear. Not many cats look
forward to a visit to the veterinarian. Having your companion cat
actually bringing those threatening scents into your territory? Time
to panic!
The linked article (from Pam Johnson Bennett, a cat behaviorist who's work I recommend), includes some tips for how to avoid this situation, but since you're already 3 months in, I don't know that they will work.
I suspect that you'll need to give them a cooling off period to try to forget the aggression. Lock one of them in a bedroom (with food, water, litter) for long enough that you think they'll forget that they're upset with each other. A cage won't work because they'll be able to see each other.
Then start introducing them as though they've never met before. Take a blanket that CatA has laid on and put it in CatB's room, and vice versa. Put CatB in another room and let CatA explore CatB's room, etc. When they start interacting together, make sure that you have a play toy handy so if they look cross, you can redirect that energy into play.
It will probably take a few months to get them happily cohabitating together like they were previously, but be patient and you can do it.