Check out ITA. Also read the MR stickies in the forum. Read everything you can about ITA and learn the language. Always use the month long search feature. If AA is your preferred airline. You can type in ORD:: AA AA to SJU:: AA AA and change your length of stay to 1 night. ITA will then return the dates that are cheapest that are ORD-SJU with two segments in each direction.
I was able to find a ORD-MIA-SJU for $278 on 4 different days. Go to
www.itasoftware.com, use the month long search and see if you can find those dates. Come back and let me know what dates you find! Good luck!
Halothane