Is it possible to recover an Arduino if it does not wake up after putting it to sleep
Not sure what you mean by "using the watchdog to put it to sleep". You can sleep with or without the watchdog enabled, and you can even use the watchdog to both wake you with an interrupt and also reset in case of a lockup. Check out section 8.5.2 in the datasheet...


  If WDE is set, WDIE is automatically cleared by hardware when a
  time-out occurs. This is useful for keeping the Watchdog Reset
  security while using the interrupt. After the WDIE bit is cleared, the
  next time-out will generate a reset. To avoid the Watchdog Reset, WDIE
  must be set after each interrupt.