Another way I have seen this situation handled is to have an autocomplete item which you can freely type into which will save the id of the selection into a hidden item if it already exists in the db. Come submit time, if the hidden item id is null and the autocomplete has a value then it is a new item and you can handle it accordingly.
If you want to spice up the application a little bit, you can have the style of the autocomplete change based on if the item entered exists or not. This will help if you fatfinger "Strawbrerry" and you know that value should exist. The drawback to this method is that it is likely that you will encounter more fatfingered entries that are not truly "others" that were never corrected.