Create an auto-cucumber program
05AB1E, 6 bytes

Σ.L(}¤


Try it online! (note: the trailing newline on the input is necessary for the empty string case.)

How?

Σ.L(}¤ - implicitly push the first input (the dictionary list)
Σ   }  - sort the list by:
       -   implicitly push second input (the misspelled word)
 .L    -   Levenshtein distance
   (   -   negated
     ¤ - tail the sorted list  and place the entry on the top of the stack
       - implicitly print top of stack