Old English cuðe, past tense of cunnan "to be able" (see can (v.1)); ending changed 14c. to standard English -d(e). The unetymological -l- was added 15c.-16c. on model of would, should, where it is historical. Could be as a response to a suggestion, indicating it may be correct, is by 1938.