In order to give an accurate answer to your question, a bit more insight into your code and data is required. Are you using levelplot from the lattice package or, the plot function from the raster package? The first may give you trouble aligning data correctly. Also, as Tomeu suggests, the projection in your tif file may differ from the world map you want to super impose. You will have to project both to your desired datum. And finally, the details in the 'world' data from the maps package are not very high, if that's what you are using. You will find more detailed maps on www.gadm.org.
Hope that this will help you out...
Kind regards,
Pepijn
P.S.,
Personally I would use the readGDAL function from the rgdal package to read the tif file, maybe this will work for you as well...
# Hi Eko, I've produced this script... I've used a random matrix for data as I don't have your original file. The white areas in your files do not match where the land masses really are. I suspect that the extent as you define it in your script does not match the true extent of the tif file. Maybe you can consult the source of your file with respect to the correct extent...