Yes, it can be fixed. Open export_descr_buildings.txt and under the entries for cavalry barracks, you'll find:
recruit "carthaginian medium cavalry" 0 requires factions { ct_carthage, }
change that to
recruit "carthaginian medium cavalry" 0 requires factions { ct_carthage, spain, }
Do something similar with the onager entries and you should be all set.
EDIT: Added a comma after spain.
Bookmarks