The "seven year" period on their records is more likely tied to tax record keeping rules than a statute of limitations
From a practical standpoint it unfortunately probably doesn't make much difference whether they can show when and how they originally got his SS# XXXXX made him joint. My guess is that they have sent a number of contract changes and disclosures over the years--it's the stuff that's printed in microscopic type that we all tend to throw away without reading it.
By accepting those changes (which happens automatically unless you challenge them and close your account) you and your son have effectively agreed to the current status of your account.
B of A could effectively argue that your son has been on the card for all these years and used it and that's all the proof they need that there is a valid agreement-- even if there were some issues with that agreement originally.
As for the credit rating organizations, you might have a better shot there assuming you're just looking to get him off the reporting for that card.
They all have online processes to dispute inaccurate information.
I'd dispute it with all three agencies based on the argument that your son was not of age when the card was opened and that he never signed anything that made him a joint debtor.
The bank would have to provide proof that your son did sign up originally. They may just not fight it since it would be difficult for them to provide affirmative proof.