(disclaimer: I work for CrushFTP, LLC, my view is a little biased.)
The FTP protocol doesn't really support what you are asking for. Some servers allow a client to get a MD5 hash of the file so they can check if its changed, or issue a STAT command and get the current modified date looking for a change, but that would have to be at a polled interval, and have a client that could support this.
CrushFTP implements a sync client that does realtime notifications, bi-directional. So a change made on the local system is replicated to the server, and anyone subscribed to the changes on the server get those changes immediately replicated back down to their machine. A change someone uploaded to the server is also immediately downloaded to everyone.
If you just want notifications when someone updates a file on the server, CrushFTP uses events for this. Most commercial servers can support this type of action including our server. These events can trigger emails, or any other type of action. We obviously feel our scenario does it in the most intuitive way though, and you can experiment with it for 30 days to decide if you like it.)