Yes, of course. And since you now have the CONSTRAINT there, you will get an error if you DON'T have a match. (Without the foreign key, you would have been able to put in any value for productID in the images table, but then it would never have worked when you tried to later SELECT matching images. THAT is why you want to use constraints.)
One reason I recommend *NOT* using ON DELETE CASCADE is that when you are still developing your code, you might accidentally try to delete the wrong product. When ON DELETE CASCADE is present, the delete *will* work and you will have lost not only the product record but also the image record(s). Without ON DELETE CASCADE, if there is already an image that is referencing the product, the delete will fail. And you will do a face plant but say "thank goodness it didn't do what I asked it to do or I would have lost my data." This is especially true if, for example, you accidentally did
DELETE FROM products and omitted the WHERE clause. You just deleted all your products and all your images. Except if you did *NOT* have ON DELETE CASCADE in their you didn't...the delete would fail.
An optimist sees the glass as half full.
A pessimist sees the glass as half empty.
A realist drinks it no matter how much there is.