There is a fine difference. A "Speisekarte" is the 'book' that you get from the waiter with lots of different food options. The "Menü" more often refers to a pre-designed menu that the cook has prepared for the day, usually a three course meal with no (or very few) options to choose between - this Menü is often written down on a sheet of paper and placed behind glass outside the restaurant, or written on a chalkboard outside the restaurant (but it will also be one of the pages of the Speisekarte!). So when you ask the waiter "Könnte ich die Speisekarte haben, bitte" (Could I have the menu, please), he will definitely bring you the menu with all the options in it, the big book. But if you ask him "Könnte ich das Menü haben, bitte", he might misunderstand you and order the pre-defined menu for you.
"Könnte ich die Speisekarte haben, bitte?" is correct.
Könnte and konnto both mean could. But in this case you are asking for the possibility, not the past.
Eine Speisekarte wouldn't be wrong, either. It's just common the say die. (Because there is usually only one menu, not several different ones.)
I have been looking at some web pages. On the http://www.starbucks.ch/ I have found the word Angebot when looking at it in German and "menu" when looking at it in English (with menu in French). I see that das Angebot means "offer". Is this use normal in German? Is it a Swiss German usage? Is it an international company's rendering?
I can add that this type of web page provides a lot of examples. For instance, in the same web page in the German web page I have found "Fragen und Antworten zu unserem Angebot" and the corresponding English shows "Menu FAQs". Logically they are equivalent, but I would have never thought of translating in this way.