I don't think this is possible with the url filtering, I think you'll end up having to try to load the record from the database and redirect to a page (or show a message on the existing page) indicating that the record does not exist.
public ActionResult Detail(int id) {
var item = _service.Search(x=>x.Id == id).FirstOrDefault();
if (item == null)
return RedirectToAction("DoesNotExist");
return View(viewModelWithItem);
}