По идее это должно было быть вот так
RewriteCond %{QUERY_STRING} (?:^|&)route\=product/product(?:$|&)
RewriteCond %{QUERY_STRING} (?:^|&)path\=([0-9]+)(?:$|&)
RewriteCond %{QUERY_STRING} (?:^|&)product_id\=([0-9]+)/specification(?:$|&)
RewriteRule ^index\.php$ /index.php?route=product/product&path=%1&product_id=%2 [L,R=301]
Где %1 и %2  это аналог $1  и $2 из RewriteRule 
 но проблема в том что  у тебя два запроса и тут придется делать это как-то по другому поскольку сработает толкьо $1  и будет он 894 поскольку  группы из предидущего конда будут стерты. 
так что думаю это можно сделать или через %{THE_REQUEST} 
где можно выделить сразу оба параметра
Ну или просто в 404.php поставить регулярку.
Так будет даже наверное лучше, только чтоб 404 отдало после регулярки а не до .
тут я  более детально описывал как это сделать.
но  товарищ говорит что у него не заработало, хотя у меня на тесте все работало, почитай там в коментах я давал более правильный ответ.
https://qna.habr.com/q/1041262#answer_2012466
если не получится, то пиши придётся создавать тестовой стенд ;)