You still have a race condition, as long as your backend serves more than one request at the time.
If you nuke the cache _before_ performing the change, another request might make the changed item reappear in the cache before the change is completed.
If you nuke the cache _after_ performing the change, requests might sneak in between the change and the cache nuke and get stale data.