It sounds as if your caption is beneath the object to which it's referencing. If so, you can either do one of two things. The first thing (and doesn't require any XHTML knowledge) is to place the caption above the image (a bit unconventional in comparision to dead-tree printing). This will cause the e-reader to begin the page with the caption (the linked item) and thus contain the object of reference below, ensuring it's on the same page for viewing.
Another option, and a more elegant solution (but more technical), is to open the EPUB file with an app like BBEdit or TextMate. Both of these apps can open an EPUB file without having to unzip the file. With the file open, navigate to the file in which you want to make your edit (which will be located in the OEBPS folder). Run a Regex search for your caption title (regex \bcaption\b) and ensure you've found the correct location. Locate your <a id="caption" /> destination anchor. The code just above this anchor should be your image. Remove this code above the image with a p class, like so: <p class="caption"><a id="caption1" /> </p>. This effectively forces the ereader to display the object of reference.