Is it important to you that the cap have spent some time physically present in Boston? My inclination would be to go to the team website at <
http://boston.redsox.mlb.com/NASApp/mlb/index.jsp?c_id=bos> and select the "Shop" tab. Following links gets you to the list of Red Sox caps on the MLB site: <
http://shop.mlb.com/family/index.jsp?categoryId=707973&cp=1452345.1452682>. You could go there directly but if you enter through the Red Sox portal, the team may get a larger cut (slightly more money for future free agents!).
I live in NYC --
my Red Sox cap comes from a little shop right across the street from Yankee Stadium. I like that even better than if it came from Boston. :)