You're quite right. It should be (and IT IS by rule) "На нём были кепка и футболка".

But it's common mistake to say the verb in singular in such situations. It may be ok in the everyday speech but...