It seems to be readonly property. I know there is a method showCalloutAt:pixelOffset:animated: but isn't it possible to set offset in mapView:shouldShowCalloutForGraphic: ?
although it is not possible to set this in the shouldShowCalloutForGraphic method, you can achieve the same thing by setting the leaderPoint property on the graphic's symbol (assuming it is a marker symbol).