In theory some really stupid browser (or some browser that for some particular constraint doesn't have a cache or have a very small one) can download the image twice.
In practice, all the major browsers in use today have a cache, where every downloaded element (including elements referenced by the page that is being loaded) is usually stored to avoid downloading many times the same thing.
Still, the usage of the cache is regulated by the Expires, Pragma no-cache, Cache-control HTTP headers (and maybe a few more, you can find all the headers here) and their meta equivalent if the object being downloaded is an HTML page.
Long story short, if the web server says that some object must not be cached or has some maximum cache time the browser should obey. In general, for static content the webserver will not provide any cache modifiers unless explicitly told so, so the browser should cache images & co without problems.