Definitely first-order functions made LISP powerful compared to its contemporaries-- but also you can't mention abstraction without mentioning macros. Macros are first-class metaprogramming, and very much enabled by the uniformity of s-expressions.
That said, people can do awesome stuff with any language, so all this is very subjective IMO.
That said, people can do awesome stuff with any language, so all this is very subjective IMO.