A late penalty from Henry Slade saw Exeter edge out Benetton 44-41 and set up a Challenge Cup semi-final against Ulster in Belfast.