As duas formas estão corretas e têm praticamente o mesmo significado. A diferença encontra-se sobretudo no facto de a expressão introduzida por de, como outras, ter caráter fixo e ser interpretada sobretudo em sentido figurado (isto é, metafórico): «ler de olhos abertos» significa «ler com muita atenção», embora também possa ser-lhe atribuída um significado mais literal («estava de olhos abertos, sem conseguir dormir»). A expressão introduzida por com é menos rígida, porque é resultado da maneira de construir um constituinte frásico, cujo valor de modo é geralmente interpretável à letra: «ela estava com os olhos abertos, sem conseguir dormir»; não obstante, não é raro acontecer que esta mesma construção seja entendida também de maneira menos literal: «ler com olhos abertos» pode, afinal, ter sentido figurado.
Em alusão a uma postura ou a um gesto, não se encontra, portanto, diferença semântica vincada entre de e com: «lemos de olhos abertos», «lemos com (os) olhos abertos». O mesmo se verifica noutros casos: «devemos andar de cabeça erguida» e «devemos andar com (a) cabeça erguida». Nestas expressões as preposições de e com introduzem constituintes («de cabeça erguida», «com cabeça ergudida») que modificam um grupo verbal cujo núcleo é «devemos andar». Contudo, a expressão introduzida por de adquire valor figurado ou metafórico mais acentuado («de cabeça erguida» = «cheio de orgulho, altivo; de cabeça alta», Dicionário Houaiss). As expressões introduzidas pela preposição de possuem, portanto, carácter mais rígido1, não permitindo, por exemplo, que os substantivos que encerram possam ter artigo definido: é inaceitável dizer-se «lemos dos olhos abertos». Contudo, é possível empregar o artigo definido depois de com: é tão ou mais mais natural dizer «lemos com os olhos abertos» ou «andamos com a cabeça erguida», em comparação com «lemos com olhos fechados» ou «andamos com cabeça erguida».
1 Outras expressões que apresentam caráter rígido ou fixo, com sentido próprio, de origem metafórica: «de braços abertos», «de mãos vazias», «de cabeça perdida». Em todas elas é possível substituir de por com.