First a tester should provide the following things
1. Test Environment (Software/Hardware) used by tester
2. Steps to Reproduce
3. Proper Snapshots of the bug.
4. Any logs related to bug.
5. Build number on which the bug is reproducible
6. Mozilla/Firefox or any browsers version numbers (if it is a browser based app)
It happens if you are not follow the cretin standard format of Defect Reporting, Follow the best Defect reporting format and attachments are more important to prove that this is happen in QA environment in these conditions with these kind of settings, In these identified scenario.
From my point of view, these are all points to prevent such a situation (that a developer can't reproduce an error).
Never the less - this will happen.
If a tester finds a bug or faces an exception, raises an issue (Jira, Mantis, ... whatever) it might happen that a developer cant reproduce it.
If this happens - the tester should meet with the devolper, try to reproduce the bug/error and if they can't the bug might be fixed because of an other issue that has been solved.
In that case, we set the ticket to "not reproducible" and close it.
If the error occurs again, a new ticket has to be raised.